package chapter04;

import java.util.Arrays;

public class Java07_Object_Method_Param {
    public static void main(String[] args) {

        // TODO 方法参数
        // 使用外部数据控制方法内实现的操作，使用的是参数语法实现，也叫方法参数
        // 语法：方法名(参数类型 参数名称)
        // 参数列表:方法名(参数类型1 参数名称1, 参数类型2 参数名称2)
        User07 u = new User07();
        String name = "zhangsan";
        int age = 18;
        // 传递参数
        u.sayHello(name,age);

        /*
        当方法传递多个参数时：
        1.参数个数需要匹配
        2.参数类型需要匹配
        3.参数顺序需要匹配
         */

        // 4.当参数的个数不确定，但类型相同时，可以采用特殊的参数类型语法声明，也叫可变参数
        // 语法:参数类型...参数名称
        // 如果参数中还包含其他含义的参数，则可变参数要放置在最后
        u.test(30);
        u.test(30,"zhangsan","lisi");
        u.test(30,"zhangsan","lisi","wangwu");
    }
}
class User07 {
    void sayHello(String name, int age){
        // 使用参数
        System.out.println("Hello"+name);
    }

    // 可变参数在方法内被处理成一个数组，若想要输出字符串则需要奖数组转成字符串输出Arrays.toString(name)
    void test(int age,String... name){
        System.out.println(Arrays.toString(name));
    }
}
